草庐IT

javascript - JS中生成不重复的随机数

全部标签

ruby - 我怎样才能随机遍历一个大范围?

我想随机遍历一个范围。每个值只会被访问一次,所有值最终都会被访问。例如:classArraydefshuffleret=dupj=lengthi=0whilej>1r=i+rand(j)ret[i],ret[r]=ret[r],ret[i]i+=1j-=1endretendend(0..9).to_a.shuffle.each{|x|f(x)}其中f(x)是对每个值进行操作的函数。Fisher-Yatesshuffle用于有效地提供随机排序。我的问题是shuffle需要对数组进行操作,这并不酷,因为我正在处理天文数字的大数。Ruby会快速消耗大量RAM来尝试创建一个巨大的数组。想象一下

ruby-on-rails - 在 Ruby/Rails 中生成唯一的哈希值

我正在寻找有关在Ruby/Rails中生成唯一哈希字符串的最佳实践的建议。通常我使用MD5、SHA等来执行此操作,但是为散列选择源值并不是很简单(并不总是首选使用时间戳)。所以我的问题是:哪些值更适合用于生成唯一哈希值?(数据库列值、时间戳等)是否有适合此类工作的gem?如有任何建议,我们将不胜感激。 最佳答案 使用UUID:在ruby1.9中require'securerandom'SecureRandom.uuid在ruby1.8中$geminstalluuidtoolsUUIDTools::UUID.random_create

ruby - 生成一个7位数的随机数

如何生成100万到1000万之间的随机数?rand(10)有效,我尝试了rand(1..10)但没有成功。 最佳答案 取你的基数1,000,000并添加一个从0到你的最大值的随机数-起始数:1_000_000+Random.rand(10_000_000-1_000_000)#=>3084592 关于ruby-生成一个7位数的随机数,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/

ruby - 将 ruby​​ 数组用于 erb 中的 javascript 数组。转义引号

我在网上找到了很多这方面的东西,但它们对我不起作用。我错过了什么吗?在我的Controller中我有@t=["a","b","c"]在作为“回调”的erb文件中,@t呈现如下:["a","b","c"]我做了一些技巧来将"替换为正确的'符号。我读过to_json应该可以工作,但它没有。下面的代码不起作用["a","b","c"].to_json。结果是一样的。 最佳答案 to_json工作正常。您遇到的是Rails3.x的XSS保护。在Railscasts上有一篇关于此的好

ruby - 如何从 ruby​​(不是 rails)中的数组中选择一个随机项

这个问题在这里已经有了答案:HowdoIpickrandomlyfromanarray?(7个答案)关闭5年前。我有一系列国家:@countries=["Canada","Denmark","Germany","IsleofMan","Namibia","Qatar","SouthAfrica","UnitedKingdom","UnitedStates"]并且正在构建一些随机数据来进行这样的测试:@test=[{:name=>"AAA-"+Faker::Name.name,:country=>@countries.????....}]如何从@countries散列中获取随机值?@co

ruby-on-rails - Mongoid 随机文档

假设我有一个用户集合。有没有一种方法可以使用mongoid在集合中查找n个随机用户,而不会两次返回同一用户?现在假设用户集合如下所示:classUserincludeMongoid::Documentfield:nameend很简单吧?谢谢 最佳答案 如果你只想要一个文档,不想定义一个新的标准方法,你可以这样做:random_model=Model.skip(rand(Model.count)).first如果您想根据某些标准找到一个随机模型:criteria=Model.scoped_whatever.where(conditio

ruby-on-rails - 由于错误的默认语言环境,我的 Rails 应用程序规范随机失败

有时,我的Rails应用程序的某些规范似乎会随机失败,因为突然英语不再是默认语言,而是德语:expected:"Projecttestcustomer-Projecttestname(Audit,Accessforall,2015-06-15).pdf"got:"Projecttestcustomer-Projecttestname(Audit,Zugangfüralle,2015-06-15).pdf"如您所见,“人人享有”部分突然变成了“Zugangfüralle”。我在谷歌上搜索了一个解决方案,似乎I18n.localeisaglobalobject,sowhenit'schan

ruby-on-rails - 如何在没有外部依赖项的情况下在 Ruby 中生成图像?

我想在我的Rails应用程序之外使用我自己的数据在Googlemap上实现热图。为此,我需要根据我的数据为每个map坐标(图block)生成叠加图像。我找到了如何使用ImageMagick生成它,但我不想依赖它,因为我计划将我的应用程序分发到多个地方,所以我想只使用Ruby语言来完成它。请注意,我只需要在一个小的透明正方形上绘制不同颜色的点。 最佳答案 我认为chunky_png或oily_png将是您最好的选择。它对ImageMagick没有外部依赖性,并以网络可用的格式生成图像。 关

Ruby 对象字面量(ala javascript)

在ruby中你可以去a={}a['a']=82a['b']='foo'putsa['a']#82我希望我可以使用点符号,例如javascript。将a.a#82有没有办法在ruby​​中构建对象文字并使用点表示法访问它们? 最佳答案 您可以创建一个Struct.A=Struct.new(:a,:b)a=A.new(82,'foo')putsa.a#=>82编辑:你甚至可以做到a={}a['a']=82a['b']='foo'Struct.new(*a.keys).new(*a.values)

ruby - 重现随机数组排序

我有一个对象数组,我想对其进行随机排序。对于这种情况,我可以使用array.shuffle。但是,如果我想稍后在同一个数组上重现该顺序怎么办?有什么方法可以提供种子、随机数等等,以便我以后可以重现这个序列吗?我想从MongoDB数据库(使用MongoID)生成一个随机的对象列表,并且该列表必须在以后复制。但据我所知,没有真正好的方法,直接在MongoDB中实现随机排序。可能有很多对象(>1,000,000),但计算时间是第一次尝试的时间,并不是最重要的事实。 最佳答案 如果您查看RubydocsforArray#shuffle你会看